<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <title>教育工程认证系统</title>
    <link rel="stylesheet" href="./layui/css/layui.css">
    <style>
        .layui-footer {
            position: static !important; /* 取消 fixed */
            width: auto; /* 可选：恢复自适应宽度 */
        }
    </style>
</head>
<body>
<div class="layui-layout layui-layout-admin">
    <div class="layui-header">
        <div class="layui-logo layui-hide-xs layui-bg-black">教育工程认证系统</div>
        <!-- 头部区域（可配合layui 已有的水平导航） -->
        <ul class="layui-nav layui-layout-left">
            <!-- 移动端显示 -->
            <li class="layui-nav-item layui-show-xs-inline-block layui-hide-sm" lay-header-event="menuLeft">
                <i class="layui-icon layui-icon-spread-left"></i>
            </li>

            <li class="layui-nav-item layui-hide-xs"><a href="">学生管理</a></li>
            <li class="layui-nav-item layui-hide-xs"><a href="">教师管理</a></li>
            <li class="layui-nav-item layui-hide-xs"><a href="">学校管理</a></li>
            <li class="layui-nav-item">
                <a href="javascript:;">异常处理</a>
                <dl class="layui-nav-child">
                    <dd><a href="">扫描</a></dd>
                    <dd><a href="">排查</a></dd>

                </dl>
            </li>
        </ul>
        <ul class="layui-nav layui-layout-right">
            <li class="layui-nav-item layui-hide layui-show-md-inline-block">
                <a href="javascript:;">
                    <img src="//tva1.sinaimg.cn/crop.0.0.118.118.180/5db11ff4gw1e77d3nqrv8j203b03cweg.jpg"
                         class="layui-nav-img">
                    zc
                </a>
                <dl class="layui-nav-child">

                    <dd><a href="">个人信息</a></dd>
                    <dd><a href="">退出</a></dd>
                </dl>
            </li>
            <li class="layui-nav-item" lay-header-event="menuRight" lay-unselect>
                <a href="javascript:;">
                    <i class="layui-icon layui-icon-more-vertical"></i>
                </a>
            </li>
        </ul>
    </div>

    <div class="layui-side layui-bg-black">
        <div class="layui-side-scroll">
            <!-- 左侧导航区域（可配合layui已有的垂直导航） -->
            <ul class="layui-nav layui-nav-tree" lay-filter="test">
                <li class="layui-nav-item layui-nav-itemed">
                    <a class="" href="javascript:;">教务部</a>
                    <dl class="layui-nav-child">
                        <dd><a href="academy.html">专业管理</a></dd>
                        <dd class="layui-this"><a href="Student.html">学生管理</a></dd>
                        <dd><a href="javascript:;">用户管理</a></dd>
                        <dd><a href="">the links</a></dd>
                    </dl>
                </li>
                <li class="layui-nav-item">
                    <a href="javascript:;">学生部</a>
                    <dl class="layui-nav-child">
                        <dd><a href="javascript:;">哈哈</a></dd>
                        <dd><a href="javascript:;">呵呵</a></dd>
                        <dd><a href="">超链接</a></dd>
                    </dl>
                </li>
                <li class="layui-nav-item"><a href="javascript:;">click menu item</a></li>
                <li class="layui-nav-item"><a href="">the links</a></li>
            </ul>
        </div>
    </div>

    <div class="layui-body">
        <!-- 内容主体区域 -->
        <div style="padding: 15px;">
            <table class="layui-hide" id="test" lay-filter="test">

            <span class="layui-breadcrumb">
  <a href="index.html">首页</a>
  <a><cite>基础管理</cite></a>
  <a><cite>用户管理</cite></a>
</span>
                <fieldset class="layui-elem-field">
                    <legend>筛选条件</legend>
                    <div class="layui-field-box">
                        <div class="layui-form-item layui-form-pane">
                            <label class="layui-form-label">学校</label>
                            <div class="layui-input-inline">
                                <input type="text" id="search_schoolName" placeholder="请输入学校" class="layui-input">
                            </div>

                            <label class="layui-form-label">年级</label>
                            <div class="layui-input-inline">
                                <input type="text" id="search_grade" placeholder="请输入年级" class="layui-input">
                            </div>
                        </div>

                        <div class="layui-form-item layui-form-pane">
                            <div class="layui-inline">
                                <button class="layui-btn layui-btn-radius layui-btn-warm" id="iReset">重置</button>
                                <button class="layui-btn layui-btn-radius layui-btn-normal" id="searchVal">搜索</button>
                            </div>
                        </div>
                    </div>
                </fieldset>

                <!-- 水平线 -->

            </table>

            <div class="layui-footer">
                <!-- 底部固定区域 -->
                copyright©Zero_Cavalier 2025
            </div>
        </div>
    </div>

</div>
<script src="./layui/layui.js"></script>
<script>
    //JS
    layui.use(['element', 'layer', 'util'], function () {
        var element = layui.element
            , layer = layui.layer
            , util = layui.util
            , $ = layui.$;

        //头部事件
        util.event('lay-header-event', {
            //左侧菜单事件
            menuLeft: function (othis) {
                layer.msg('展开左侧菜单的操作', {icon: 0});
            }
            , menuRight: function () {
                layer.open({
                    type: 1
                    , content: '<div style="padding: 15px;">处理右侧面板的操作</div>'
                    , area: ['260px', '100%']
                    , offset: 'rt' //右上角
                    , anim: 5
                    , shadeClose: true
                });
            }
        });

    });
</script>
<script type="text/html" id="toolbarDemo">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
        <button class="layui-btn layui-btn-sm" lay-event="getCheckLength">获取选中数目</button>
        <button class="layui-btn layui-btn-sm" lay-event="isAll">验证是否全选</button>
        <button class="layui-btn layui-btn-sm" lay-event="insert">新增</button>
    </div>
</script>

<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>

<script type="text/html" id="insert_form">
    <div class="layui-field-box">
        <div class="layui-form-item layui-form-pane">
            <label class="layui-form-label">学校名</label>
            <div class="layui-input-inline">
                <input type="text" id="insert_school" class="layui-input" placeholder="请输入学校名">
            </div>
        </div>

        <div class="layui-form-item layui-form-pane">
            <label class="layui-form-label">年级</label>
            <div class="layui-input-inline">
                <input type="text" id="insert_grade" class="layui-input" placeholder="请输入年级">
            </div>
        </div>
    </div>
</script>
<script type="text/html" id="update_form">
    <div class="layui-field-box">
        <div class="layui-form-item layui-form-pane">
            <label class="layui-form-label">学校名</label>
            <div class="layui-input-inline">
                <input type="text" id="update_school" class="layui-input" placeholder="请输入学校名">
            </div>
        </div>

        <div class="layui-form-item layui-form-pane">
            <label class="layui-form-label">年级</label>
            <div class="layui-input-inline">
                <input type="text" id="update_grade" class="layui-input" placeholder="请输入年级">
            </div>
        </div>
    </div>
</script>
<script type="text/html" id="delete_form">
    <div class="layui-field-box">
        <div class="layui-form-item layui-form-pane">
            <label class="layui-form-label">删除学校名</label>
            <div class="layui-input-inline">
                <input type="text" id="update_school" class="layui-input" placeholder="请输入学校名">
            </div>
        </div>

        <div class="layui-form-item layui-form-pane">
            <label class="layui-form-label">删除年级</label>
            <div class="layui-input-inline">
                <input type="text" id="update_grade" class="layui-input" placeholder="请输入年级">
            </div>
        </div>
    </div>
</script>


<script src="layui/layui.js" charset="utf-8"></script>
<script src="js/jquery-3.6.0.js" charset="utf-8"></script>
<!-- 注意：如果你直接复制所有代码到本地，上述 JS 路径需要改成你本地的 -->

<script>

    $("#iReset").click(function () {
        $("#search_schoolName").val("");
        $("#search_grade").val("");
        flashTable();
    });

    $("#searchVal").click(function () {
        let search_schoolName = $("#search_schoolName").val();
        let search_grade = $("#search_grade").val();
        flashTable(search_schoolName, search_grade);
    });

    function flashTable(search_schoolName, search_grade) {
        let searchJSON = {};
        if (search_schoolName != null && search_schoolName != "") {
            searchJSON.school = search_schoolName;
        }
        if (search_grade != null && search_grade != "") {
            searchJSON.grade = search_grade;
        }
        layui.use('table', function () {            //渲染页面
            var table = layui.table;
            table.render({
                elem: '#test',
                url: 'student/select' /*tpa=/test/table/demo1.json*/,
                toolbar: '#toolbarDemo' //开启头部工具栏，并为其绑定左侧模板
                ,
                where: searchJSON, //传递参数
                defaultToolbar: ['filter', 'exports', 'print', { //自定义头部工具栏右侧图标。如无需自定义，去除该参数即可
                    title: '提示',
                    layEvent: 'LAYTABLE_TIPS',
                    icon: 'layui-icon-tips'
                }],
                title: '用户数据表',
                cols: [
                    [{
                        type: 'checkbox',
                        fixed: 'left'
                    }, {
                        field: 'id',
                        title: 'ID',
                        width: 80,
                        fixed: 'left',
                        unresize: true,
                        sort: true

                    }, {
                        field: 'school',
                        title: '学校',
                        width: 120,
                        edit: 'text'

                    }, {
                        field: 'grade',
                        title: '年级',
                        width: 150,
                        edit: 'text',

                    }, {
                        fixed: 'right',
                        title: '操作',
                        toolbar: '#barDemo',
                        width: 150
                    }]
                ],
                page: true,
                height: '500px'
            });


            //头工具栏事件
            table.on('toolbar(test)', function (obj) {
                var checkStatus = table.checkStatus(obj.config.id);
                switch (obj.event) {
                    case 'getCheckData':
                        var data = checkStatus.data;
                        layer.alert(JSON.stringify(data));
                        break;
                    case 'getCheckLength':
                        var data = checkStatus.data;
                        layer.msg('选中了：' + data.length + ' 个');
                        break;
                    case 'isAll':
                        layer.msg(checkStatus.isAll ? '全选' : '未全选');
                        break;
                    case 'insert':
                        layer.open({              // 弹出框处理  模态框
                            type: 1               // 模态框
                            , title: '新增' //不显示标题栏
                            , closeBtn: false
                            , area: ['500px', '500px']  // 宽和高
                            , shade: 0.5
                            , id: 'LAY_layuipro' //设定一个id，防止重复弹出
                            , btn: ['新增', '取消']
                            , btnAlign: 'c'
                            , moveType: 1 //拖拽模式，0或者1
                            , content: $('#insert_form').html()         // 引入自定义表单
                            , btn1: function (index, layero) {            // 这个是新增按钮点击事件
                                // layer.msg("新增按钮执行");
                                let school = $("#insert_school").val();
                                let grade = $("#insert_grade").val();
                                $.ajax({
                                    url: "/student/insert",           // 请求路径
                                    type: "post",                  // 请求的方式，不区分大小写
                                    cache: false,                  // 关闭缓存，目的是为了避免部分浏览器缓存加载出错(IE)
                                    contentType: "application/json;charset=utf-8",
                                    data: JSON.stringify({
                                        school: school,
                                        grade: grade
                                    }),
                                    datatype: "json",        // 返回类型，text文本、html页面、json数据
                                    success: function (response) {
                                        console.log("返回: " + response);
                                        if (response.code === 200) {
                                            layer.msg("新增成功!");
                                            layer.close(index);                         // 关闭当前窗口
                                            tableFlush();
                                        }
                                    },
                                    error: function (response) {
                                        console.log("出错返回: " + response);
                                    }
                                });
                            }
                            , success: function (layero) {

                            }
                        });
                        break;

                    //自定义头工具栏右侧图标 - 提示
                    case 'LAYTABLE_TIPS':
                        layer.alert('这是工具栏右侧自定义的一个图标按钮');
                        break;
                }
                ;
            });

            //监听行工具事件
            table.on('tool(test)', function (obj) {
                var data = obj.data;
                //console.log(obj)
                if (obj.event === 'del') {
                    layer.open({              // 弹出框处理  模态框
                        type: 1               // 模态框
                        , title: '删除' //不显示标题栏
                        , closeBtn: false
                        , area: ['500px', '500px']  // 宽和高
                        , shade: 0.5
                        , id: 'LAY_layuipro' //设定一个id，防止重复弹出
                        , btn: ['确认删除', '取消']
                        , btnAlign: 'c'
                        , moveType: 1 //拖拽模式，0或者1
                        , content: $('#delete_form').html()         // 引入自定义表单
                        , btn1: function (index, layero) {            // 这个是新增按钮点击事件
                            // layer.msg("新增按钮执行");
                            let school = $("#delete_school").val();
                            let grade = $("#delete_grade").val();
                            $.ajax({
                                url: "/student/delete",           // 请求路径
                                type: "post",                  // 请求的方式，不区分大小写
                                cache: false,                  // 关闭缓存，目的是为了避免部分浏览器缓存加载出错(IE)
                                contentType: "application/json;charset=utf-8",
                                data: JSON.stringify({

                                    id: data.id
                                }),
                                datatype: "json",        // 返回类型，text文本、html页面、json数据
                                success: function (response) {
                                    console.log("返回: " + response);
                                    if (response.code === 200) {
                                        layer.msg("删除成功!");
                                        layer.close(index);                         // 关闭当前窗口
                                        //tableFlush();
                                    }
                                },
                                error: function (response) {
                                    console.log("出错返回: " + response);
                                }
                            });
                        }
                        , success: function (layero) {                     //用户未看到弹窗前，初始化的数据放在此处
                            $("#update_school").val(data.school);
                            $("#update_grade").val(data.grade);
                        }
                    });
                } else if (obj.event === 'edit') {
                    layer.open({              // 弹出框处理  模态框
                        type: 1               // 模态框
                        , title: '编辑' //不显示标题栏
                        , closeBtn: false
                        , area: ['500px', '500px']  // 宽和高
                        , shade: 0.5
                        , id: 'LAY_layuipro' //设定一个id，防止重复弹出
                        , btn: ['编辑', '取消']
                        , btnAlign: 'c'
                        , moveType: 1 //拖拽模式，0或者1
                        , content: $('#update_form').html()         // 引入自定义表单
                        , btn1: function (index, layero) {            // 这个是新增按钮点击事件
                            // layer.msg("新增按钮执行");
                            let school = $("#update_school").val();
                            let grade = $("#update_grade").val();
                            $.ajax({
                                url: "/student/update",           // 请求路径
                                type: "post",                  // 请求的方式，不区分大小写
                                cache: false,                  // 关闭缓存，目的是为了避免部分浏览器缓存加载出错(IE)
                                contentType: "application/json;charset=utf-8",
                                data: JSON.stringify({
                                    school: school,
                                    grade: grade,
                                    id: data.id
                                }),
                                datatype: "json",        // 返回类型，text文本、html页面、json数据
                                success: function (response) {
                                    console.log("返回: " + response);
                                    if (response.code === 200) {
                                        layer.msg("编辑成功!");
                                        layer.close(index);                         // 关闭当前窗口
                                        //tableFlush();
                                    }
                                },
                                error: function (response) {
                                    console.log("出错返回: " + response);
                                }
                            });
                        }
                        , success: function (layero) {                     //用户未看到弹窗前，初始化的数据放在此处
                            $("#update_school").val(data.school);
                            $("#update_grade").val(data.grade);
                        }
                    });
                }
            });
        });
    }


    flashTable();


</script>
</body>
</html>